package com.mydemo.admin.pojo;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.ArrayList;
import java.util.List;

/**
 * 菜单实体类
 * @author Last_Island
 * @version 1.0
 */
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class SysMenu {

    /** 菜单id **/
    private Long menuId;

    /** 菜单名称 **/
    private String menuName;

    /** 父菜单id **/
    private Long parentId;

    /** 显示顺序 **/
    private Long orderNum;

    /** 菜单路由 **/
    private String path;

    /** 组件路径 **/
    private String component;

    /** 菜单类型 **/
    private String menuType;

    /** 菜单状态 **/
    private String menuStatus;

    /** 权限标识 **/
    private String authorityKey;

    /** 图标 **/
    private String icon;

    /** 备注 **/
    private String remark;

    /** 子菜单 **/
    private List<SysMenu> children = new ArrayList<>();

    public SysMenu() {
    }

    public SysMenu(Long menuId, String menuName, Long parentId, Long orderNum, String path, String component, String menuType, String menuStatus, String authorityKey, String icon, String remark, List<SysMenu> children) {
        this.menuId = menuId;
        this.menuName = menuName;
        this.parentId = parentId;
        this.orderNum = orderNum;
        this.path = path;
        this.component = component;
        this.menuType = menuType;
        this.menuStatus = menuStatus;
        this.authorityKey = authorityKey;
        this.icon = icon;
        this.remark = remark;
        this.children = children;
    }

    public Long getMenuId() {
        return menuId;
    }

    public void setMenuId(Long menuId) {
        this.menuId = menuId;
    }

    public String getMenuName() {
        return menuName;
    }

    public void setMenuName(String menuName) {
        this.menuName = menuName;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Long getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Long orderNum) {
        this.orderNum = orderNum;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }

    public String getMenuType() {
        return menuType;
    }

    public void setMenuType(String menuType) {
        this.menuType = menuType;
    }

    public String getMenuStatus() {
        return menuStatus;
    }

    public void setMenuStatus(String menuStatus) {
        this.menuStatus = menuStatus;
    }

    public String getAuthorityKey() {
        return authorityKey;
    }

    public void setAuthorityKey(String authorityKey) {
        this.authorityKey = authorityKey;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public List<SysMenu> getChildren() {
        return children;
    }

    public void setChildren(List<SysMenu> children) {
        this.children = children;
    }
}
